package com.example.demo;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

//RestController = Controller + ResponseBody
@Controller//表示下面的那个类交给了spring 处理
//@Controller 返回视图
//@ResponseBody 返回数据
//@ResponseBody 注解到 类上,表示 整个类都是返回数据
//注解到方法上,表示这个方法返回的是数据
/**
 * 1. Controller : 响应视图
 * 2. ResponseBody : 返回数据
 * 3. 响应中包含 HTML 标签
 * 4. JSON , 依赖对象
 * 5. 设置状态码 : HttpServletResponse response :  response.setStatus(4011);
 */
@RequestMapping("/response")
public class ResponseController {
    @RequestMapping("/index")
    public String html(){
        return "/index.html";
    }
    /**
     * 响应中包含HTML 标签
     */
    @ResponseBody
    @RequestMapping("/returnHTML")
    public String returnHTML(){
        return "<h1> 返回h1HTM页面 </h1>";
    }
    /**
     *返回 JSON 数据
     */
    @ResponseBody
    @RequestMapping("returnJSON")
    public UserInfo returnJSON(){
        UserInfo userInfo = new UserInfo("zhangsan","111111",11);
        return userInfo;
    }
    /**
     * 设置状态码
     */
    @ResponseBody
    @RequestMapping("/setStatus")
    public String setStatus(HttpServletResponse response ){
        response.setStatus(4011);
        return "设置状态码成功!";

    }

}
